$(function(){
    let $img = $(".form-group .captcha-graph-img img") //获取图像标签元素
    let sImageCodeId = "";
    let $username = $('#user_name');
    let $mobilenum = $("#mobile_num");

    generateImageCode();
    $img.click(generateImageCode);

    //生成图片UUID
    function generateUUID() {
        let d = new Date().getTime();
        if (window.performance && typeof window.performance.now == "function"){
            d += performance.now();
        }
        let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
            let r = (d + Math.random() * 16) % 16 | 0;
            d = Math.floor(d / 16);
            return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
        });
        return uuid
    }

    //生成图片验证码编号，并设置页面中图片验证码img标签的src属性
    function generateImageCode() {
        //生成一个图片验证码随机编号
        sImageCodeId = generateUUID();
        //拼接请求url
        let imageCodeUrl = "/image_codes/" + sImageCodeId + "/";
        //修改验证码图片src地址
        $img.attr('src', imageCodeUrl)
    }

    $username.blur(function () {
        fn_check_username();
    });

    $mobilenum.blur(function () {
        fn_check_mobile();
    });

    function fn_check_username(){
        let sUsername = $username.val(); //获取用户名字符串
        if (sUsername === ""){
           // message.showError('用户名不能为空！');
           alert('用户名不能为空！');
           return;
        }
        if (!(/^\w{5,20}$/).test(sUsername)){
           // message.showError('用户名不能为空！');
           alert('请输入5-20个字符的用户名');
           return;
        }

        //发送ajax请求，去后端查询用户名是否存在
        $.ajax({
            url: 'usrnames/' + sUsername + '/',
            type: 'GET',
            dataType: 'json',

            success: function (res) {
                if(res.count !== 0){
                    alert(res.username + '已注册，请重新输入！')
                }else{
                    alert(res.username + '能正常使用！')
                }
            },
            // error: function(XMLHttpRequest, textStatus, errorThrown) {
	        //     	   alert(XMLHttpRequest.status);
	        //     	   alert(XMLHttpRequest.readyState);
	        //     	   alert(textStatus);
	        //        },
            fail: function () {
                alert('服务器超时，请重试！');
            }
                },

            {
            url: 'usrnames/' + sUsername + '/',
            type: 'GET',
            dataType: 'json',

            success: function (res) {
                if(res.count !== 0){
                    alert(res.username + '已注册，请重新输入！')
                }else{
                    alert(res.username + '能正常使用！')
                }
            },
            // error: function(XMLHttpRequest, textStatus, errorThrown) {
	        //     	   alert(XMLHttpRequest.status);
	        //     	   alert(XMLHttpRequest.readyState);
	        //     	   alert(textStatus);
	        //        },
            fail: function () {
                alert('服务器超时，请重试！');
            }
                },
            );
    }

});